تبدیل کاراکترهای عربی به فارسی در سی شارپ | تبدیل کاراکتر "ی" به "ی" در WPF
سلام خدمت مهندسان عزیز
یک مشکلی که در اکثر سیستم عامل ها هست هنوز بعضی از صفحه کلید های ویندوز های قدیمی استاندارد نیست و ی و ک عربی وارد میکنند («ک» و «ی»)
من میخوام توی TextBox که کاربر وارد میکنه توی Event KeyDown
وقتی کاربر ی عبری زد اون رو تبدیل به ی فارسی کنم این کار رو توی WindowsForm توی Event Keychar انجام دادم به این صورت :
if (e.KeyChar.ToString() == "ی")
{
e.KeyChar = Convert.ToChar("ی");
}
اما کد بالا در WPF اصلا کار نمی کند و خطا میدهد
و Event KeyChar توی WPF نیست چطور این کد بالا رو توی WPF استفاده کنم
لطفا راهنمایی بفرمایید
باتشکر
تبدیل حروف عربی به فارسی در WPF
دستوراتی که برای تبدیل حروف عربی به فارسی در ویندوز فرم نوشتید درسته. اما توی WPF کمی برخی از دستورات تغییر کردن. شما میتونید کدهای زیر رو جایگزین کدهای خودتون کنید.
private void txt_name_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key.ToString() == "ي")
{
e.Key.ToString("ی");
}
}
دقت کنید که در WPF در EventHandler با نام e به جای keychar باید از key استفاده کنید.
ضمنا توی دیتابیس هم Collation رو حتما Persian قرار بدید. اگر شما Collation دیتابیس خودتون رو فارسی قرار بدید این مشکل خودش حل میشه.
مشکل حل نـشد
ببخشید ببینید این کد نمیاد کاراکتر وارد شده رو تبدیل کنه فقط میاد کلیدی که روی صفحه کلید وارد شده رو میگه : ↓
نمونه کدی که توی ویندوز فرم نوشتم درسته ولی توی WPF نمیدونم چجوری این کار رو انجام بدم
لطفا راهنمایی بفرمایید
در WPF مثل Windows Form شما نمیتونید مقدار کلیدی که فشرده شده رو دریافت کنید و روش تغییراتی رو انجام بدید. به نظرم تنظیمات ویندوز رو Persian کنید تا این مشکل پیش نیاد. ضمنا اگر Collation دیتابیس شما Persian باشه هم مشکلی پیش نمیاد. ضمنا توی دیتابیس میشه با یه دستور خیلی ساده همه "ي" را به "ی" تبدیل کرد.
ولی در هر صورت میتونید برای انجام این کار توی WPF این لینک رو مطالعه کنید. تقریبا بهترین منبع برای کار شما همین لینک هست.
موفق باشید
متشکرم جناب مهندس
ولی اکثر مشتریان اصلا حوصله انجام دادن هیچ تنظیمی روی سیستمشون ندارن
تغییر کارکتر ها بعد از ذخیره شدن شون توی دیتابیس دردسر سازه
هیچ راهی هست که بشه مثل ویندوز فرم کاراکتر ها رو از صفحه کلید گرفت ، فرض کنید میخوایم برنامه کیبورد مجازی ویندوز رو توی WPF بنویسیم
🙏
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- حذف کامل یک رکورد در جدول ریلیشن شده
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- مقایسه ساختار دو دیتابیس در Sql Server
- اشکال در ایجاد کلید خارجی در Sql Server
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf